[VB]使灰化按钮为可用的问题

来源:百度知道 编辑:UC知道 时间:2024/05/16 17:10:30
今天在网上下载了个WINDOWS突破专家软件,主要作用是把一些软件中的灰化按钮变为可用,带源码的。想对它进行修改,可是自己对VB不太懂,所以求助于各位大人

想修改目的如下:
此软件可以把灰化不可用的按钮、文本框、单选、复选框都改为可用,但我只想让灰化的按钮为可用,或者是只让按钮名为“换机”的灰化按钮为可用,其它名称的一概不问。。

此软件得到窗口的句柄,是否可根据句柄得到窗口的名称,来判断名称如果为“换机”,则激活灰化,使其可用,否则不过问。

--------
源码的下载地址为:http://blog.21ic.com/uploadfile-/2007-1/116528230.rar

哪位高手帮改一下源码,改好后提供下载地址,分不够可再加。
----
秋色烽火 ,你发的代码有问题,ClassName没定义

发个消息留个E-mail给我,我有现成的VB代码,自己写的,给你发过去

试试下面的代码,能把其他程序里类名是“Button"的按钮变成不可以用的状态。

Private Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long
Private Declare Function EnableWindow Lib "user32" (ByVal hwnd As Long, ByVal fEnable As Long) As Long
Private Declare Function GetForegroundWindow Lib "user32" () As Long
Dim ClassName As String * 255
Dim hwd As Long
Dim Sx As String
Dim hwd1 As Long
Private Sub xs()
hwd = GetForegroundWindow()
hwd1 = FindWindowEx(hwd, 0&, vbNullString, vbNullString)
While hwd1 <> 0
GetClassName hwd1, ClassName, Len(ClassName)
Sx = Left(ClassName, InStr(ClassName, Chr(0)) - 1)
If Sx = "Button" Then
EnableWindow hwd1, 0
End If
hwd1 = FindWindowEx(hwd, hwd1, vbNullString, vbNullString)
Wend
En